 
local CLASS = {} // This defines the class's table. We need it to enter the following values
CLASS.DisplayName	= "Scout" // This is the name of the class, for display purposes
CLASS.WalkSpeed 	= 300 // This is the walk speed of the class (without shift)
CLASS.CrouchedWalkSpeed = 0.4 // This is the amount that the walk speed is multiplied by while crouching
CLASS.RunSpeed		= 700 // This is the sprinting speed of the class (with shift)
CLASS.DuckSpeed		= 0.2 // This is the speed that the class moves from standing to crouching (in seconds)
CLASS.JumpPower		= 320 // This is the jump power of the class (default: 160)
CLASS.PlayerModel	= "models/player/police.mdl" // This is the player model that is set for this class
CLASS.DrawTeamRing	= true // Whether or not colored team rings are displayed under players with this class
CLASS.DrawViewModel	= true // Whether or not a player's weapon appears in the first person view using this class
CLASS.MaxHealth		= 120 // This is the maximum health of a player with this class
CLASS.StartHealth	= 90 // This is how much health the player spawns with
CLASS.StartArmor	= 50 // This is the amount of armor a player spawns with
CLASS.DropWeaponOnDie		= false // Whether or not a player's weapon gets dropped upon death
CLASS.TeammateNoCollide 	= true // Whether or not a player should be able to walk through his teammates
CLASS.AvoidPlayers			= true // Push players that are able to walk through this player away?
CLASS.Selectable			= true // When false, this class cannot be chosen from the select class menu
CLASS.FullRotation			= false // Allow the player's model to rotate completely with their view (i.e. looking 90 degrees up will rotate your player model 90 degrees)
 
function CLASS:Loadout( pl ) // This is called when the player is given their equipment
	pl:Give( "weapon_scattergun" )
	pl:GiveAmmo( 255,	"Pistol", 		true )
	pl:Give( "weapon_Support_Pistol" )
 	pl:GiveAmmo( 160,	"Buckshot", 		true )
	pl:Give( "weapon_melee" )
end
 
function CLASS:OnSpawn( pl ) // This is called when the player respawns
end
 
function CLASS:Move( pl, mv ) // This is called whenever the player moves and can be used to create a fancy movement system
end
 
function CLASS:OnKeyPress( pl, key ) // This is called when a player presses a key
end
 
function CLASS:OnKeyRelease( pl, key ) // This is called when a player releases a key
end
 
player_class.Register( "Scout", CLASS ) // This registers your class. The first argument is the reference name, the second is the class's table (that we defined before)
 